package com.mes.cloud.api.dto.request.menu;

import java.io.Serializable;
import java.util.Date;

import lombok.Data;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.NotEmpty;

import javax.persistence.*;
import javax.validation.constraints.NotNull;

/**
 * 系统菜单
 *
 * @author wxm
 * @version 2019-07-30 13:55:22
 * @email xiaomin.wu1@pactera.com
 */
@Data
public class SysMenuRequest implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键", required = false)
    private String id;

    @ApiModelProperty(value = "父节点ID", required = true)
    @NotNull(message = "parentId不能为空")
    private String parentId;

    @ApiModelProperty(value = "菜单名称", required = true)
    @NotNull(message = "nameCn不能为空")
    private String nameCn;

    @ApiModelProperty(value = "家族目录", required = true)
    private String familyNameCn;

    @ApiModelProperty(value = "菜单英文名称", required = true)
    private String nameUs;

    @ApiModelProperty(value = "sn", required = false)
    private String sn;


    @ApiModelProperty(value = "菜单URL", required = false)
    private String url;

    @ApiModelProperty(value = "权限URL", required = false)
    private String authUrl;

    @ApiModelProperty(value = "菜单层级", required = false)
    private Integer level;

    @ApiModelProperty(value = "排序", required = false)
    private Integer sort;

    @ApiModelProperty(value = "类型(1:菜单、2:按钮、3:子页)", required = true)
    @NotEmpty(message = "type不能为空")
    private String type;

    @ApiModelProperty(value = "客户类型", required = false)
    private String customerType;

    @ApiModelProperty(value = "类型(1：PC、2：小程序、3：APP、4：公众号)", required = true)
    @NotEmpty(message = "platform不能为空")
    private String platform;

    @ApiModelProperty(value = "菜单图标", required = false)
    private String icon;

    @ApiModelProperty(value = "功能说明", required = false)
    private String description;

    @ApiModelProperty(value = "备注", required = false)
    private String remark;

    }
